Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- function programming



  Permutation algorithm with JavaScript

In secondary school, we have learned permutation. Basically, for n numbers, the number of permutations for these n numbers can be calculated to n! which is called 'n factorial'. But to display all the permutations on the screen, we need to use a recursive function. The problem is how to write this function.  Next I write a program to display the permutations for n numbers with JavaScript. First, we need to understand that from these n numbers, we can first take any one number from it, and t...

   JavaScript,Permutation,Algorithm,Impleme     2011-09-21 12:02:35

  New function signal.NotifyContext in GoLang 1.16

os/signal package in GoLang may not be frequently used but it provides some good features like Shutdown() which can be used to gracefully shutdown a running HTTP server. func (srv *Server) Shutdown(ctx context.Context) error With this function, there is no need to use third party library to gracefully shutdown HTTP server. How is it being used? package main import ( "context" "fmt" "net/http" "os" "os/signal" "time" ) func main() { server := http.Server{ Addr: ":8080", } http.Handl...

   GOLANG,NOTIFYCONTEXT,GRACEFUL SHUTDOWN     2021-06-19 01:07:10

  Restore mocked variables in GoLang unit test

One of the guarding principles of writing unit test is that there should be no real external calls for dependant services. Unit test should run by its own and can run without issues on any environment including local, build, test environment. This indicates there should be some mock responses whenever an external call is needed so that different unit test scenarios can be covered. How can this be done in GoLang? In GoLang, anything can be assigned to a variable even including functions. A variab...

   GOLANG,UNIT TEST,MOCK FUNCTION,RESTORE MOCK     2021-12-10 20:43:00

  Google upgrades its built in calculator

Google search engine is more and more intelligent.It has been a long time since Google integrated a built in calculator in its search engine. Today, Google upgraded its built in calculator function in its search engine, a new calculator interface with 34 buttons is added.Before upgrading, if you type 6+7 in the search field, Google will only show the answer 13. But now, if you enter this formula again, in addition to the answer, it will display one calculator interface with 34 buttons. See follo...

   Google,built in,Calculator,Upgrade     2012-07-25 11:07:33

  new() and make() in GoLang

GoLang is a modern, statically typed, compiled programming language designed for building scalable, concurrent, and efficient software. It provides various built-in functions and features that help developers write concise and efficient code. Among them are the new() and make() functions, which may appear similar at first glance but serve different purposes in GoLang and are crucial for memory allocation and data initialization. In this blog article, we will explore the differences between the n...

   NEW,MAKE,GOLANG     2023-11-18 13:43:25

  The magic of go:linkname

When writing Go program, there is frequent need on using time.Sleep() function to pause the logic for some time. And if jumping to the definition of this function, can see below definition: // Sleep pauses the current goroutine for at least the duration d. // A negative or zero duration causes Sleep to return immediately. func Sleep(d Duration) I's strange that there is no function body defined here. What happened? The actual definition of the function body is residing at runtime/time.go&nb...

   TRICKS,GO:LINKNAME,GOLANG     2022-04-10 08:39:00

  Do NOT use boolean variable as function parameters

We follow lots of coding styles and coding standards when we do programming, but we may frequently forget one. The forgotten one is that do not use boolean parameter as the function parameters. The reason is it would greatly reduce the readability of the code. Don't believe it? When you read the following code, what does this code mean? widget->repaint(false); Do not repaint? Or what does this mean? After looking at the document, we know that this parameter is whether ...

   CODING STYLE,BOOLEAN,FUNCTION PARAMETER,CODING STANDARD,METHOD PARAMETER     2012-04-22 02:38:45

  Pair Programming: The disadvantages of 100% pairing

I’ve written a lot of blog posts in the past about pair programming and the advantages that I’ve seen from using this technique but lately I find myself increasingly frustrated at the need to pair 100% of the time which happens on most teams I work on. From my experience it’s certainly useful as a coaching tool, as I’ve mentioned before I think it’s a very useful for increasing the amount of collaboration between team members and an excellent way for ensuring ...

   Software development,Paring,Disadvantage     2012-01-11 12:08:47

  How to help new joiners involve in projects

Usually when a new joiner involves in a new project, he will spend much time on understanding the background of the project, the current status of the project and the requirements of the project etc. It is very easy for them to get lost in this stage. So to effectively help them involve in the project, we need have some people guiding them, giving them some useful instructions. What should we do to help them? Here are some steps I take.1. Project backgroundIn this phase, I will introduce to them...

   New joiner,Experience     2012-05-05 11:06:18

  What to Look for in PHP 5.4.0

PHP 5.4.0 will arrive soon. The PHP team is working to bring to some very nice presents to PHP developers. In the previous release of 5.3.0 they had added a few language changes. This version is no different. Some of the other changes include the ability to use DTrace for watching PHP apps in BSD variants (there is a loadable kernel module for Linux folks). This release features many speed and security improvements along with some phasing out of older language features (Y2K ...

   PHP,5.4,New feature,Built-in server,Trait     2011-12-21 10:20:12